package cc.owoo.godpen.file;

import cc.owoo.godpen.util.Path;

import java.io.File;

/**
 * 路径信息
 * Created by nimensei
 * 2022-03-21 上午 11:52
 **/
public class FilePath {
    File file;// 文件对象
    Path relative;// 相对路径

    FilePath(File file, Path relative) {
        this.file = file;
        this.relative = relative;
    }

    /**
     * 获取名称，可能为空
     *
     * @return 名称
     */
    public String getName() {
        return relative.getLastName();
    }

    /**
     * 获取后缀，如果没有后缀，则返回默认null
     *
     * @return 后缀名称
     */
    public String getPostfix() {
        return relative.getPostfix();
    }

    /**
     * 获取后缀名称
     *
     * @param defaultPostfix 如果没有后缀，则返回默认后缀
     * @return 后缀名称
     */
    public String getPostfix(String defaultPostfix) {
        return relative.getPostfix(defaultPostfix);
    }

    /**
     * 获取文件对象
     *
     * @return 文件对象
     */
    public File getFile() {
        return file;
    }

    /**
     * 获取绝对路径
     *
     * @return 路径
     */
    public String getAbsolutePath() {
        return file.getPath();
    }

    /**
     * 获取相对路径
     *
     * @return 相对路径
     */
    public Path getRelativePath() {
        return relative;
    }

    @Override
    public String toString() {
        return relative.toString();
    }
}
